package com.comm.service;

import com.comm.domain.bo.ExpressCompanyMappingBO;
import com.comm.entity.ExpressCompanyMapping;
import com.comm.entity.Page;
import com.comm.entity.User;

import java.util.List;
import java.util.Map;


public interface IExpressCompanyMappingService {
    /***
     * @DESCRIPTION: 单个插入
     * @author 枫伦
     * @params: [expressCompanyMapping]
     * @return: void
     * @Date: 2021/7/23 10:19 上午 
     * @Modified By:  
     */
    void addExpressCompanyMapping(ExpressCompanyMapping expressCompanyMapping);

    /***
     * @DESCRIPTION: 逻辑删除
     * @author 枫伦
     * @params: [expressCompanyMapping]
     * @return: void
     * @Date: 2021/7/23 10:19 上午
     * @Modified By:
     */
    int logicDeleteById(Long id);

    /***
     * @DESCRIPTION: 批量插入
     * @author 枫伦
     * @params: [expressCompanyMappings]
     * @return: void
     * @Date: 2021/7/23 10:19 上午 
     * @Modified By:  
     */
    int batchAdd(List<ExpressCompanyMapping> expressCompanyMappings);

    /***
     * @DESCRIPTION: 批量修改
     *
     * @author 枫伦
     * @params: [expressCompanyMappings]
     * @return: void
     * @Date: 2021/7/23 10:19 上午
     * @Modified By:
     */
    int batchUpdate(List<ExpressCompanyMapping> expressCompanyMappings);

    /**
     * @author 枫伦
     * @params: [expressCompanyMappings]
     * @return: void
     * @Date: 2021/7/23 10:19 上午
     * @Modified By:
     */
    int update(ExpressCompanyMapping expressCompanyMapping);

    /***
     * @DESCRIPTION: 列表查询
     * @author 枫伦
     * @params: [expressCompanyMapping]
     * @return: java.util.List<com.raycloud.dmj.domain.trades.ExpressCompanyMapping>
     * @Date: 2021/7/23 10:19 上午 
     * @Modified By:  
     */
    List<ExpressCompanyMapping> getListByExample(ExpressCompanyMapping expressCompanyMapping, Page page);

    /***
     * @DESCRIPTION: 获取物流公司关系映射map
     * @author 枫伦
     * @params: [user]
     * @return: java.util.Map<java.lang.Long, com.raycloud.dmj.domain.trades.ExpressCompanyMapping>
     * @Date: 2021/7/23 10:18 上午 
     * @Modified By:  
     */
    Map<Long, ExpressCompanyMapping> getExpressMappingMap(User user);

    Object addBatch(List<ExpressCompanyMappingBO> list);
}
